iT邦幫忙

2023 iThome 鐵人賽

DAY 4
0
Security

一個人的藍隊系列 第 4

Wazuh 架構

  • 分享至 

  • xImage
  •  

今天來講一下Wazuh架構
回頭看看我們架設使用的docker-compose.yml
https://github.com/wazuh/wazuh-docker/blob/v4.5.0/single-node/docker-compose.yml

首先我們從Docker-compose的內容就可以看得出來我們在架設Wazuh的時候
總共會啟動三個容器,三個容器對照的用途分別是
wazuh-manager ⇒ wazuh server (之後如果提到Wazuh server或是manager基本上都是指它)
wazuh-indexer ⇒ 可以當成就是elasticsearch
wazuh-dashboard ⇒ 可以當成就是kibana

來一張架構圖,接著進行說明
架構如下

https://ithelp.ithome.com.tw/upload/images/20230919/20114110al0PaiKNqk.png

圖片當中Wazuh central compenents的地方
就是我們架設三個容器的組成wazuh-manager, wazuh-indexer , wazuh-dashboard

圖上雖然寫w.server.cluster
但實際上我們這邊的範例並沒有做cluster
所以其實就是wazuh-manager

最左邊的Endpoints其實我們監控的設備,例如需要在安裝agent的主機
當然也包含一些網通設備,可以透過不安裝agent的方式來進行監控

額外補充
如果有需要做多點部署,前方可以安裝一個,nginx之類的作為Server Load Balancer
官方提供的dcoker-compose預設也是使用nginx
再者,Wazuh雖然架設後預設使用443 HTTPS,但憑證為自簽產生的
如果有需要也可以掛自己的憑證在Nginx上面,這樣對於組織內憑證管理應該會更簡單方便
不過實際上自己視情況而定就是,這邊也就是提供一個思路參考

以我們現在安裝方式來說Wazuh central compenents是在同一台的主機上面(同一個IP)
而最右邊的Wazuh users其實就是人員啦
人員監控的時候,連接到的443網頁頁面,就是wazuh-dashboard

除非具有wazh server主機的權限,不然都是透過dashboard去監控與管理
如果具有wazh server主機的權限,實際上各種dashboard可以做到的管理操作
你也都可以直接在主機上利用CLI執行,甚至也可以透過API執行,後續我們會有一些範例說明

接著再給大家看兩張圖
來源是以下的網址
https://documentation.wazuh.com/current/getting-started/components/index.html
https://documentation.wazuh.com/current/proof-of-concept-guide/index.html

說明搭配這幾張架構圖應該可以更清楚理解完整的流程和架構

https://ithelp.ithome.com.tw/upload/images/20230919/20114110yWPL4oUAF2.png

https://ithelp.ithome.com.tw/upload/images/20230919/20114110FkqGx8suLT.png

首先從LOG的資料流來說明整個收集、分析、處理的流程(Wazuh功能很多,不是只有撈LOG)
在被監控的主機上面安裝agent後,agent會去撈設定好的路徑的LOG檔案內容,
並且將LOG給推送(push)到Wazuh server
wazuh server會對接收到的log進行分析,看是否有符合decoder與rule的內容
如果有觸發的alerts,會被傳送到wazuh indexer
wazuh indexer就是一個DB+全文搜尋跟分析引擎,然後視覺化則是在wazuh dashboard
也就說如果需要查看事件,搜尋事件,可以透過 dashboard 登入進行查看和搜尋
但wazuh dashboard實際上就是一層皮,後面alert儲存跟query的處理還是wazuh indexer

然後提一下,推送數據是透過Filebeat
Filebeat:用於向 Wazuh 索引器發送事件和警報。
它讀取Wazuh分析引擎的輸出並及時傳送事件。當連接到多節點Wazuh索引器集群時,它還提供負載平衡。

除了基於代理(agent)的監控功能之外,Wazu平台還可以監控無代理設備,
例如防火牆、交換機、路由器或網絡 IDS 等。
可以通過Syslog收集系統日誌數據,並且可以通過SSH或API定期探測其數據來監控其配置。

從上面的說明我們已經知道各個compenents的用途
之後在管理、除錯時就可以更加清楚該怎麼做

最後了解這個架構後,我們也可以注意一下防火牆的規則
假設我們的監控agent主機10.10.10.1
我們的server是10.10.20.2

只需要單向開通Allow以下的port
source ip: 10.10.10.1
destination ip: 10.10.20.2
port:
1514 (TCP+UDP)
1515 (TCP)
514 (TCP+UDP)

然後人員需要查看dashboard
只需要開通可以單向連線到wazuh dashboard
也就是可以連線到10.10.20.2的443 port即可

想了解更多port開通規則跟方向也可以看官網的內容
https://documentation.wazuh.com/current/getting-started/architecture.html

藍隊守則小提醒
1.任何非必要對外公開的服務,應限制無法於公開網際網路存取
2.網路存取控制是最基本的防禦手段之一,請預設禁止所有不需要的通訊
3.伺服器正常情況下不會有需要主動發起對外連線


上一篇
Wazuh Agent安裝與介面查看
下一篇
Wazuh的管理和設定
系列文
一個人的藍隊30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言